import {parseHTML} from './parseAst.js';
import {generate} from './generate.js';

export function compileTpFunction (el) {
  // 生成AST语法树
  let ast = parseHTML(el);

  // 将AST语法树变成 render 函数 
  // 1、AST语法树变成字符串 
  // 2、字符串变成函数
  let code = generate(ast)

  // 将render字符串变成函数
  let render = new Function(`with(this){return ${code}}`)
  return render;
}

// let objs = {a:1, b:2}
// with(objs){
//   console.log(a, b)
// }